package com.zqxq.lottery.service.sys;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zqxq.lottery.entity.po.sys.SysAnalyzePO;
import com.zqxq.lottery.entity.vo.sys.ChannelDataExportVo;

import java.util.List;
import java.util.Map;

/**
 * @author 苦智
 * @date 2018/4/9 14:33
 * @description 数据统计
 * @ClassName ISysAnalyzeService
 */
public interface ISysAnalyzeService extends IService<SysAnalyzePO>{
    Map<String,Object> getTotalCount(String startTime, String endTime);

    List<Map<String,Object>> getKLineCount(String startTime,String endTime);

    Map<String,Object> getEachCount();

    Map<String,Object> getChannelCount(Map<String, Object> paramMap);

    List<String> getAllChannel();

    Map<String,Object> getMerchantTotalCount();

    List<Map<String,Object>> getMerchantUserOrder(String startTime, String endTime,Long lotteryId,Long status,Page<Map<String,Object>> page);

    void merchchantConfirmTicketOrCancelOrder(Long orderId,int status);

    List<Map<String, Object>> getWinPrizeData(Map<String, Object> paramMap);

    Map<String, Object> getAgentDataStatistics(Map<String, Object> paramMap);

    List<ChannelDataExportVo> getChannelCountList(Map<String, Object> paramMap);

    List<Map<String,Object>> getDataProfitCount(String startTime,String endTime,Integer timeType);

    Map<String,Object> getTotalProfitCount(String startTime, String endTime);

    Map<String,Object> getSaleFunnelCountTotal(String startTime, String endTime, Integer client);

    List<Map<String,Object>> getSaleFunnelCountList(Page page, String startTime, String endTime, Integer timeType, Integer client);

    Map<String,Object> getUserActivityAnalysis(String startTime, String endTime, Integer source, Integer pageNo, Integer pageSize,Integer timeType);

    Map<String,Object> productPerformance(String startTime, String endTime,Integer gameType);
}
